# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=discover
pkgver=5.19.4
pkgrel=0
arch="all !armhf" # armhf blocked by qt5-qtdeclarative
url="https://userbase.kde.org/Discover"
pkgdesc="KDE Plasma resources management GUI"
license="LGPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND GFDL-1.2-only"
depends="kirigami2"
makedepends="extra-cmake-modules qt5-qtbase-dev qt5-qtdeclarative-dev kcoreaddons-dev kconfig-dev kcrash-dev kdbusaddons-dev ki18n-dev karchive-dev kxmlgui-dev kitemmodels-dev kio-dev kdeclarative-dev attica-dev knewstuff-dev plasma-framework-dev appstream-dev flatpak-dev"
checkdepends="xvfb-run"
source="https://download.kde.org/stable/plasma/$pkgver/discover-$pkgver.tar.xz"
subpackages="$pkgname-lang $pkgname-backend-flatpak:backend_flatpak"

case "$CARCH" in
	x86|x86_64)
		makedepends="$makedepends fwupd-dev"
		subpackages="$subpackages $pkgname-backend-fwupd:backend_fwupd"
		;;
	*) ;;
esac

build() {
	cmake -B build \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DCMAKE_DISABLE_FIND_PACKAGE_Snapd=ON
	cmake --build build
}

check() {
	cd build
	# knsbackendtest and flatpaktest fail to find their required executables
	CTEST_OUTPUT_ON_FAILURE=TRUE xvfb-run ctest -E "(knsbackend|flatpak)test"
}

package() {
	DESTDIR="$pkgdir" cmake --build build --target install
}

backend_flatpak() {
	pkgdesc="Flatpak backend for $pkgname"
	depends=""
	install_if="$pkgname flatpak"

	mkdir -p \
		"$subpkgdir"/usr/lib/qt5/plugins/discover \
		"$subpkgdir"/usr/share/libdiscover/categories \
		"$subpkgdir"/usr/lib/qt5/plugins/discover-notifier \
		"$subpkgdir"/usr/share/applications \
		"$subpkgdir"/usr/share/metainfo \
		"$subpkgdir"/usr/share/icons/hicolor/scalable/apps

	mv "$pkgdir"/usr/lib/qt5/plugins/discover/flatpak-backend.so \
		"$subpkgdir"/usr/lib/qt5/plugins/discover/
	mv "$pkgdir"/usr/share/libdiscover/categories/flatpak-backend-categories.xml \
		"$subpkgdir"/usr/share/libdiscover/categories/
	mv "$pkgdir"/usr/lib/qt5/plugins/discover-notifier/FlatpakNotifier.so \
		"$subpkgdir"/usr/lib/qt5/plugins/discover-notifier/
	mv "$pkgdir"/usr/share/applications/org.kde.discover-flatpak.desktop \
		"$subpkgdir"/usr/share/applications/
	mv "$pkgdir"/usr/share/metainfo/org.kde.discover.flatpak.appdata.xml \
		"$subpkgdir"/usr/share/metainfo/
	mv "$pkgdir"/usr/share/icons/hicolor/scalable/apps/flatpak-discover.svg \
		"$subpkgdir"/usr/share/icons/hicolor/scalable/apps/
}

backend_fwupd() {
	pkgdesc="fwupd backend for $pkgname"
	depends=""
	install_if="$pkgname fwupd"

	mkdir -p \
		"$subpkgdir"/usr/lib/qt5/plugins/discover

	mv "$pkgdir"/usr/lib/qt5/plugins/discover/fwupd-backend.so \
		"$subpkgdir"/usr/lib/qt5/plugins/discover/
}

sha512sums="34c210f627e18738d5c305cd70fb854ad44888a113dce208548eb014e8d87560b95953dad019964d09edabb735b7835774ab396d493ae2793c0c7271f9150719  discover-5.19.4.tar.xz"
